# 定义变量，通过input获取用户输入的是否有票信息
# 输入任意字符表示有票，不输入（直接回车）表示无票
has_ticket = input("请确认是否有票：")

# 外层条件：判断是否有票（在Python中，非空字符串为True，空字符串为False）
if has_ticket:
    # 有票时，继续判断刀的长度
    knife_length = int(input("请输入刀的长度："))
    if knife_length >= 20:
        print("不允许上车")
    else:
        print("安检通过，允许上车")
else:
    # 无票时，直接不允许进门
    print("不允许进门")


# 代码核心逻辑说明：
# 1. 采用嵌套if-else结构，先判断是否有票，有票再判断刀长，分层处理业务逻辑
# 2. Python中，input输入的任意非空字符串会被视为True（有票），空字符串视为False（无票）
# 3. 刀长判断中，>=20不允许上车，否则允许上车，覆盖了“刀长是否超标”的场景